package com.daxt.model.service.archives.vo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "档案类型分类", description = "档案类型分类")
//@TableName("\"daxt\".\"ARCHIVES_CLASS\"")
@TableName("archives_class")
public class ArchivesClass implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "id", name = "id")
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	//@NotBlank(message = "error")
//	@ApiModelProperty(value = "档案全宗号", name = "fondsNum")
//	private String fondsNum;
	@ApiModelProperty(value = "档案全宗ID", name = "fondsId")
	private String fondsId;
	//@NotBlank(message = "error")
	@ApiModelProperty(value = "档案门类ID", name = "typeId")
    private String typeId;
//	@ApiModelProperty(value = "档案门类号", name = "typeNum")
//    private String typeNum;
	//@NotBlank(message = "分类名不能为空")
	@ApiModelProperty(value = "分类名", name = "className")
    private String className;
	//@NotBlank(message = "分类号不能为空")
	@ApiModelProperty(value = "分类号", name = "classNum")
    private String classNum;
    
	@ApiModelProperty(value = "parentId", name = "parentId")
    private Long parentId;
	
	@ApiModelProperty(value = "排序", name = "sort")
	private Integer sort;
	
	@ApiModelProperty(value = "1 分类  2字段", name = "classType")
	private String classType;

	@ApiModelProperty(value = "列名", name = "dataColumn")
	private String dataColumn;
	@ApiModelProperty(value = "描述", name = "dataValue")
	private String dataValue;
	
	@ApiModelProperty(value = "是否目录  0否  1是", name = "isCatalog")
	private String isCatalog;

	@ApiModelProperty(value = "展示模板", name = "template")
	private String template;

	@ApiModelProperty(value = "树结构", name = "treeStr")
	private String treeStr;

	@ApiModelProperty(value = "外部ID", name = "extId")
	private String  extId;

	@TableField(exist = false)
	private List<ArchivesClass> children=new ArrayList<>();

	@TableField(exist = false)
	private boolean choose;

	@ApiModelProperty(value = "所有父级id，规则是fondsId-typeId-classParentIds，archivesClassList例如：43-44", name = "parentIds")
	@TableField(exist = false)
	private String treeParentId;
	
}